Policy-First 设计
一种安全架构设计哲学:先声明策略,再执行,而非"先执行再道歉"(act now, apologize later)。
关键内容
-
核心流程:
[用户配置] approval_policy + sandbox_mode ↓ [ExecPolicy] 每条命令过策略引擎 ↓ [Sandbox] OS 内核强制执行 -
两层独立但协同:
- 策略层 = "意图":定义哪些操作被允许、需要审批、被禁止
- 沙箱层 = "执行边界":OS 内核强制限制实际能做什么
-
即使策略层有漏洞,沙箱层兜底
-
与硬编码的对比:
- 传统做法:安全逻辑硬编码在业务代码中(脆弱、难共享)
-
Policy-First:策略即代码(Policy as Code),可版本化、可测试、可团队共享
-
在 Codex CLI 中的体现:
- ExecPolicy 作为独立的策略引擎 crate
- 配置分层:Global → Team → Project → Profile
- 策略规则以 TOML 文件定义,支持 Git 版本控制
工程智慧
"把 AI 的不确定性关进操作系统的笼子里,用策略而非硬编码来定义笼子的大小。"
来源
- raw/articles/ai-tools/codex/01_codex_architecture_overview.md — 第 4.2 节 Policy-First 设计
- raw/articles/ai-tools/codex/04_codex_execpolicy.md — ExecPolicy 规则语法、前缀树匹配、规则层次
相关
- Codex CLI — 采用 Policy-First 设计的编码 Agent
- ExecPolicy — Policy-First 设计的具体实现
- 三道防线模式 — Policy-First 设计在防御架构中的具体化